LWUIT Tourist Attractions
=========================

LWUIT Tourist Attractions is a remake of the original Tourist Attractions. It 
is developed with LWUIT for Nokia Asha software platform 10 and Series 40
library. The application is a location-aware tour guide to city highlights. It
presents the most notable sights nearby and shows detailed information on them.
The application demonstrates the use of the Location API (JSR-179) and Nokia
Maps API for Java ME.

This example application demonstrates:
- LWUIT lists with a custom renderer
- LWUIT layouts
- Switching between different LWUIT forms
- Showing a map using Nokia Maps API with LWUIT
- Showing the user's location on the map

Original Tourist Attractions project page: 
https://projects.developer.nokia.com/JMETouristAttractions

LWUIT Tourist Attractions project page: 
https://projects.developer.nokia.com/LWUIT_TouristAttractions

LWUIT for Series 40: 
https://projects.developer.nokia.com/LWUIT_for_Series_40



1. Usage
-------------------------------------------------------------------------------

The main view of the application shows a list of attractions in the selected 
guide. You can view details of an attraction by tapping it. From the attractions 
list you can open the map to show your current position, or if your position 
is not available, the center of the guide. By opening the map from the details 
of an attraction, the location of the attraction is shown. From the guides 
list you can open a different guide or buy new guides.


2. Prerequisites
-------------------------------------------------------------------------------

Java ME basics
LWUIT basics


3. Important classes
-------------------------------------------------------------------------------

TouristMidlet.java:  The midlet class that initialises the display, views, 
and starts from the splash view.
AttractionList.java:  The implementation of a list of attractions.
AttractionListRenderer.java:  Custom renderer component for achieving a 
Series 40 -like list style (see Known issues).
MapView.java & MapComponent.java:  Handlers for the map.
LocationFinder.java:  Wraps Location API so that running the application is 
possible also without the API being on the device.
Network.java:  Network component that handles all connections to the internet.
Compatibility.java:  Checks compatibilities of current device to make 
feature-based programming easy.


4. Compatibility
-------------------------------------------------------------------------------

Nokia Asha software platform 1.0 and Series 40 6th Edition and newer touch
phones.

Tested on Nokia Asha 501, Nokia Asha 311, Nokia Asha 308, Nokia Asha 305,
Nokia Asha 303 and Nokia X3-02.

Developed with Nokia Asha SDK 1.0 and Netbeans 7.1.2.


4.1 Required capabilities
-------------------------

CLDC 1.1, MIDP 2.0 and, Web Services API (JSR-172).


4.2 Known issues
----------------

-The list appearance (as of LWUIT 0.6.2) does not fully match the native 
Series 40 look; hence list items are drawn with a custom CellRenderer 
implementation to match the native style.
-On C2-03 there are occasional map problems.
-On Asha 305 the list performance is not optimal.
-The text area height is sometimes set incorrectly.


5. Building, installing, and running the application
-------------------------------------------------------------------------------

5.1 Preparations
----------------

Before opening the project, make sure Nokia SDK 2.0 or newer for Java is installed and 
added to NetBeans.

5.2 Building
------------

The project can be easily opened in NetBeans by selecting 'Open Project' from 
the File menu and selecting the application. Building is done by selecting 
'Build main project'.

5.3 Nokia Asha phones
---------------------

You can istall the application on a phone by transferring the JAR file 
via Nokia Suite or over Bluetooth.


6. License
-------------------------------------------------------------------------------

See the license text file delivered with this project. The license file is also 
available online at 
https://projects.developer.nokia.com/LWUIT_TouristAttractions/browser/lwuit_touristattractions/LICENSE.TXT


7. Related documentation
-------------------------------------------------------------------------------

LWUIT for Series 40
- https://projects.developer.nokia.com/LWUIT_for_Series_40

Nokia SDK for Java
- http://www.developer.nokia.com/Develop/Java/Tools/

Nokia Maps API for Java ME 
- http://www.developer.nokia.com/Develop/Maps/Maps_API_for_Java_ME/

Back-end server
- https://projects.developer.nokia.com/iap_azure_backend


8. Version history
-------------------------------------------------------------------------------

v1.3.1  Fixed zoom buttons and background color
v1.3    Map plugin updated and IAP removed
v1.2    Pinch zooming of map and bug fixes
v1.1    Changed the IAP process.
v1.0    Initial release.
